package com.shujia.core

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD

object Demo13Sample {
  def main(args: Array[String]): Unit = {
    // sample 转换算子 可以对数据进行抽样（用一小部分数据反应整体的情况）
    val conf: SparkConf = new SparkConf()
    conf.setAppName("Demo13Sample")
    conf.setMaster("local")

    val sc: SparkContext = new SparkContext(conf)
    val stuLineRDD: RDD[String] = sc.textFile("Spark/data/students.txt")

    /**
     * withReplacement 有无放回
     * fraction 比例(只是大致并不是精确)
     * seed 随机数种子 默认是随机Long值，如果需要让每一次的抽样结果相同，则需要将随机数种子固定
     */
    val sampleRDD: RDD[String] = stuLineRDD.sample(withReplacement = false, 0.01, seed = 100)

    sampleRDD.foreach(println)

  }

}
